home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / disk / bss150.zip / HISTORY.TXT < prev   
Text File  |  1996-06-19  |  12KB  |  251 lines

  1. Version history of BSS.EXE
  2.  
  3. 1.00    1st release to public
  4.  
  5. 1.01    Fixed bug in hilighting file name.  If user entered "BSS /F *.*",
  6.     this caused a major problem.  Made an additional binary check that
  7.     looked for lines longer 150 characters.
  8.  
  9. 1.02    Fixed bug with /B switch.  This was caused by adding the additional
  10.     binary check in previous version.
  11.  
  12. 1.03    Added the number of records searched to the statistical info.  Changed
  13.     the way I was calling a couple of subroutines & deleted 1 level.
  14.         call    [call_find]
  15.         call    [call_string]
  16.     This speeded it up a hair, which offset the speed reduction in
  17.     adding the # of records found.
  18.  
  19. 1.04    Added FILE SIZE, DATE, TIME of file when used in conjunction with the
  20.     /F switch.  Also added TOTAL BYTES searched, CPS (characters per sec.),
  21.     & BYTES FREE on current drive.
  22.  
  23. 1.05    Fixed code to handle screen sizes larger than 25 rows X 80 columns.
  24.     Handled record counting different. Now using a lookup table for setting
  25.     hilighting & reverse attributes.
  26.  
  27. 1.06    Fixed a bug in record counting that popped up occasionally.  Was hard
  28.     to pin it down, because it was rather obscure.  Disabled BYTES FREE on
  29.     current drive, because I found that it didn't work properly on a
  30.     Compaq (DOS v3.31 I think).
  31.  
  32. 1.07    Fixed 3 bugs in conjunction with the screen pause function.  Thanks
  33.     to Ray Tackett's observation.
  34.  
  35. 1.08    The /A switch was not doing what I intended it to.  Also changed my
  36.     logic on deciding whether it was a binary file or not.  I am now
  37.     looking in the 1st 4k of the file for lines longer than 134 characters,
  38.     to determine this.  Was finding it to fail with BBS listings w/some
  39.     graphics characters.  Was originally looking in the 1st K of the file
  40.     for binary characters.  Have found no difference in speed on my 386/33
  41.     between scanning 1k the old way & 4k the new way.  Maybe able to take
  42.     advantage of the prelimary checking to speed up the search by holding
  43.     an array of the EOL character positions.
  44.  
  45. 1.09    Started using MASM 6.0 & Spontaneous 3.0 library.  Changed the way I
  46.     was storing the search strings.  Am now using a linked list method.
  47.     4 byte overhead for each search string.  This was changed in getting
  48.     ready to add a /R=file.nam switch (redirect input search strings).
  49.     Also added a /BF & /BN switch for only printing file names in a BBS
  50.     type listing found &/OR the names of the files it found them in.
  51.  
  52. 1.10    Change to the Compact memory model.  This allows me to keep the
  53.     extended information (/?) in a segment by itself, which in turn allows
  54.     me to define larger arrays in the near segment for search strings.
  55.  
  56. 1.11    The /R=file.nam switch is now working.  Increased the search string
  57.     buffer size to 24k.  The maximum number of strings is 4096 (if they
  58.     were all 2 characters in each string), more typically 1755 if all the
  59.     strings were 5 characters each.  Fixed minor bug with the /B switch.
  60.     If there were blank lines in the description such as compuserve
  61.     listings, it would stop at the 1st blank line.
  62.  
  63. 1.12    Added /FS switch for outputting only the size of directories instead
  64.     of printing file names as well.
  65.  
  66. 1.13    Added another error message.  Put the /FS switch in the help display.
  67.     Fixed a nasty bug that has been in there awhile, but just never ran
  68.     across it until using the /R=ASCII.IN (this is a file containing all
  69.     ascii chars.).  If you entered 2 search strings that were the same
  70.     (or mixed case but otherwise the same if you weren't using /E), it
  71.     would potentially lock up.  Added a check for duplicates routine to
  72.     fix this.  Added code to check for another program running BSS (like
  73.     the run command under windows)an added a pause at the end only if you
  74.     were using the /P switch.
  75.  
  76. 1.14    Fixed a couple of output format problems.  File & subdirectory sizes
  77.     were not right justified when output to a file.  Changed the
  78.         call    cput_chr
  79.             TO
  80.         call    [call_outchr]
  81.     Also fixed it so the statistics went to the output file.  Was closing
  82.     the output file before calling the statistics routine.  Have mixed
  83.     emotions about putting it in the output file versus the screen (maybe
  84.     another switch for this?).
  85.  
  86. 1.15    Turned off printing file names for the /F switch if the /T switch was
  87.     used.
  88.  
  89. 1.16    Fixed a bug that would not print a match on the last line of an ASCII
  90.     file if it was not terminated w/a CR,LF.  Added UNIX file type
  91.     compatibilty (they only use LF character instead of CR,LF)
  92.  
  93. 1.17    Added /J switch.  Print JUST strings that match, nothing else.
  94.  
  95. 1.18    Fixed a divide by zero bug on calculating cps.  This did not lock it
  96.     up or anything, only displayed an erroneous number, which turns out to
  97.     be 2 to the 64 power.  This only occurred on a fast machine that said
  98.     it finished in 0 length of time.  To fix this problem I just added
  99.     1 millisecond to the elapsed time.
  100. ===============================================================================
  101.         7,822 bytes   18,446,744,073,709,551,516 cps
  102. Files: 1   Records: 275   Matches: 0   Elapsed Time: 00:00:00.00
  103.  
  104. 1.19    Fixed an error in the calculating cps routine, that I created by
  105.     fixing the divide by zero.  Speeded up the search routine by 3% for
  106.     non case-sensitive searches by using a 256 byte lookup table.
  107.  
  108. 1.20    added .procs & .endp to all the functions I created, in order to run
  109.     it thru the profiler & get some descent information out of it.
  110.  
  111. min_search      dw      0       ;minimum search string length
  112. 1.21    added a minimum search string length variable, but doesn't quite work
  113.     the way I want it to, yet.
  114.  
  115. 1.22    took out the second of the following 2 lines:
  116.  
  117.         add     word ptr [sub_records],1
  118.         add     word ptr [sub_records+2],0
  119.  
  120.     Since my addition could never go beyond 8192, so it was pointless to
  121.     do so.
  122.  
  123. 1.23    added some preliminary changes for re-using a wildcard routine for dos
  124.     file names as well as search strings.  Upped the size of the
  125.     environmental string from 150 to 255.  Added printing the statistical
  126.     info to the output file if /J switch was not used.
  127.  
  128. 1.24    rewrote the find_end routine & the way it was being implimented in
  129.     hopes of speeding it up, but it was 20% slower instead.  I'll put that
  130.     idea aside for now.
  131.  
  132. 1.25    replaced the switch /L  LEAVE screen alone (Do not use STATUS line)
  133.  
  134.     with:
  135.     /L:*?  wiLd search (the * & ? can be any 2 characters you wish to use)
  136.     this version still has some bugs in it though
  137.  
  138. 1.26    got most of the bugs out of the wild search part, but while testing
  139.     this, found a bug in my hi-lighting routine, which I'll have to fix.
  140.  
  141. 1.27    re-wrote one the hilighting routines & fixed all the bugs that I could
  142.     find so far with the wild search routine.  1st release to 14 beta
  143.     testers on the internet.
  144.  
  145. 1.28    fixed 2 major bugs.  One of which Fons en Willem found by doing
  146.     something I wasn't expecting.  He pointed me right to address where
  147.     the error occured.  Was not checking beyond the limit of the array.
  148.     The other bug happened only in conjunction with the /L switch, in it's
  149.     worst case it would get in an endless loop,but would also not hilight
  150.     text properly in some cases.  Also fixed another minor bug that Fons
  151.     found.  BSS /O=BSS.DOC /? paused before exiting.  Not released
  152.  
  153. 1.29    added line numbering feature "/#=n" where n equals the number of columns
  154.     to reserve for right justifying the line number (5 is the default)
  155.     & will leave one space between the number & line of text.  Text wraps
  156.     to beginning of next line.  Will change this soon to line up with
  157.     beginning of previous line.  Not released
  158.  
  159. 1.30    Changed the way the pause message displayed when using the /P switch.
  160.     I now temporarily move the status line to bottom of page for the pause
  161.     only, then switch it back to the top.  David Morlitz pointed out that
  162.     it was not readily apparent that the program was paused.  Also fixed
  163.     a bug when using "/P:15" or any other number did not work correctly.
  164.  
  165. 1.31    Added "/C:#" & "/K" switch & fixed a few bugs
  166.  
  167. 1.32    Added "/WP" & "/WR:#"
  168.  
  169. 1.33    Added a few more error checks.  Took out all the NOP's
  170.  
  171. 1.34    Fixed a bug in the "/C" switch if a matching string was found before
  172.     it